1. Field
Embodiments relate to a method, system, and computer program product for providing preferential access to a metadata track in two track writes.
2. Background
In certain storage system environments, a storage controller (or a storage controller complex) may comprise a plurality of storage servers that are coupled to each other. The storage controller allows host computing systems to perform input/output (I/O) operations with storage devices controlled by the storage controller, where the host computing systems may be referred to as hosts.
The storage controller may include a cache. Data written from a host may be stored in the cache and at an opportune time the data stored in the cache may be destaged (i.e., moved or copied) to a storage device. Data may also be staged (i.e., moved or copied) from a storage device to the cache of the storage controller. The storage controller may respond to a read I/O request from the host from the cache, if the data for the read I/O request is available in the cache, otherwise the data may be staged from a storage device to the cache for responding to the read I/O request. A write I/O request from the host causes the data corresponding to the write to be written to the cache, and then at an opportune time the written data may be destaged from the cache to a storage device. Since the storage capacity of the cache is relatively small in comparison to the storage capacity of the storage devices, data may be periodically destaged from the cache to create empty storage space in the cache. Data may be written and read from the cache much faster in comparison to reading and writing data from a storage device.
A queue is an abstract data type or collection in which the entities in the collection are maintained in order and the operations on the collection are the addition of entities to the rear terminal position, known as enqueue, and removal of entities from the front terminal position, known as dequeue. This makes the queue a First-In-First-Out (FIFO) data structure. In a FIFO data structure, the first element added to the queue is the first one to be removed. This is equivalent to the requirement that once a new element is added to the queue, all elements that were added before the new element have to be removed before the new element can be removed.
A task control block (TCB) is a data structure in the operating system kernel containing the information needed to manage a particular process. TCBs may be generated in a storage controller for performing various operations including those for destages or writes.